<?php
namespace ZyucMini\Components\Connections;

use ZyucMini\Core\DatabaseManager;

// 提供通用数据库连接
class Connections
{
    /**
     * 是否已初始化
     * @var bool
     */
    private static $initialized = false;
    
    /**
     * 初始化所有通用数据库连接
     */
    public static function initAll()
    {
        // 检查是否已经初始化
        if (self::$initialized) {
            return;
        }
        
        // 初始化所有通用的数据库
        DatabaseManager::registerConnection('uxt', require __DIR__ . '/Config/uxt.php');
        DatabaseManager::registerConnection('idm', require __DIR__ . '/Config/idm.php');
        DatabaseManager::registerConnection('proj', require __DIR__ . '/Config/proj.php');
        
        // 标记为已初始化
        self::$initialized = true;
    }
    
    /**
     * 检查是否已初始化
     * 
     * @return bool
     */
    public static function isInitialized()
    {
        return self::$initialized;
    }
    
    /**
     * 重置初始化状态（主要用于测试）
     */
    public static function reset()
    {
        self::$initialized = false;
        
        // 清理已注册的连接配置缓存
        DatabaseManager::clearConfigCache();
        
        // 关闭已建立的连接
        $connections = ['uxt', 'idm', 'proj'];
        foreach ($connections as $connName) {
            DatabaseManager::closeConnection($connName);
        }
    }
}
?>